package com.chengyu.core.service.walk;

import com.chengyu.core.domain.form.TrendsForm;
import com.chengyu.core.domain.result.WalkTrendsCommentResult;
import com.chengyu.core.domain.result.WalkTrendsResult;
import com.chengyu.core.entity.CommonPage;
import com.chengyu.core.entity.CommonResult;
import com.chengyu.core.exception.ServiceException;
import com.chengyu.core.model.*;

import java.util.Date;
import java.util.List;

/**
 * @title  动态管理-动态下载
 * @author LeGreen
 * @date   2022/5/19
 */
public interface WalkTrendsDownloadService {

	/**
	 * 添加下载记录
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkTrendsDownload
	 * @throws ServiceException 业务异常
	 */
	void addDownloadLog(WalkTrendsDownload walkTrendsDownload,WalkMember walkMember) throws ServiceException;

	/**
	 * 显示下载记录
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkMemberId
	 * @throws ServiceException 业务异常
	 */
	CommonPage<WalkTrendsDownload> listDownloadLog(Date dateFrom, Date dateTo, Integer type , Integer shopId, Integer walkMemberId, Integer page, Integer pageSize) throws ServiceException;


	/**
	 * 验证用户是否可下载
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  id
	 * @throws ServiceException 业务异常
	 */
	CommonResult<WalkTrendsDownloadNum> verifyTrendsDownload(Integer trendsId,Integer id,Integer goodsId) throws ServiceException;
	/**
	 * 验证用户是否可下载
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  id
	 * @throws ServiceException 业务异常
	 */
	CommonResult<WalkTrendsDownloadNum> verifyTrendsDownloadIsOther(Integer trendsId) throws ServiceException;

	/**
	 * 显示下载记录(根据会员id和素材id)
	 * @author LeGreen
	 * @date   2022/5/19
	 * @param  walkMemberId
	 * @throws ServiceException 业务异常
	 */
	CommonResult<WalkTrendsDownload> getDownLoadInfo(Integer walkMemberId, Integer trendsId) throws ServiceException;

}
